/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mvc.dao;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.LinkedList;
import mvc.modelos.ActividadCultural;

/**
 *
 * @author pezcado
 */
public class ActividadCulturalDAO extends Model implements IDAO<ActividadCultural> {
    private PreparedStatement consultar;
    private PreparedStatement insertar;
    private PreparedStatement modificar;
    private PreparedStatement eliminar;
    private PreparedStatement listar;
    private Model model;

    public ActividadCultural consultar(int id) throws SQLException {
        model= Model.getInstance();
        String sql="select nombre, nombreDeporte, tiempoPractica, id,"
                + "estado, descripcion from Actividad_Cultural where id="+id;
        consultar=model.getCon().prepareStatement(sql);
        ResultSet resultSet= consultar.executeQuery();
        ActividadCultural actividad= new ActividadCultural();
            
        try{

            resultSet.next();

            actividad.setId(resultSet.getInt("id"));
            actividad.setNombre(resultSet.getString("nombre"));
            actividad.setNombreDeporte(resultSet.getString("nombreDeporte"));
            actividad.setTiempoPractica(resultSet.getString("tiempoPractica"));
            actividad.setEstado(resultSet.getString("estado"));
            actividad.setDescripcion(resultSet.getString("descripcion"));

            //return actividad;
        }catch(Exception e){

        }
        return actividad;
        }

    public void insertar(ActividadCultural IDAO) throws SQLException {
        model= Model.getInstance();
        if(insertar==null){
            String sql="insert into Actividad_Cultural values(?,?,?,?,?,?)";
            insertar= model.getCon().prepareStatement(sql);
       }
        insertar.setString(1, IDAO.getNombre());
        insertar.setString(2, IDAO.getNombreDeporte());
        insertar.setString(3, IDAO.getTiempoPractica());
        insertar.setInt(4, IDAO.getId());
        insertar.setString(5, IDAO.getEstado());
        insertar.setString(6, IDAO.getDescripcion());
        
        insertar.executeUpdate();

    }

    public void modificar(ActividadCultural IDAO) throws SQLException {
        model= Model.getInstance();
        String sql="update Actividad_Cultural set"
                + "nombre='"+IDAO.getNombre()+"',"
                + "nombreDeporte='"+IDAO.getNombreDeporte()+"',"
                + "tiempoPractica='"+IDAO.getTiempoPractica()+"',"
                + "estado='"+IDAO.getEstado()+"',"
                + "descripcion='"+IDAO.getDescripcion()+","
                + "where id="+IDAO.getId();

        modificar=getCon().prepareStatement(sql);
        modificar.executeUpdate();
    }

     public void eliminar(ActividadCultural IDAO) throws SQLException {
        model= Model.getInstance();
        String sql="delete from Actividad_Cultural where id="+IDAO.getId();
        eliminar=getCon().prepareStatement(sql);
        eliminar.executeUpdate();
    }

    public LinkedList<ActividadCultural> listar() throws SQLException {
        model.getInstance();
        LinkedList<ActividadCultural> lista= new LinkedList<ActividadCultural>();
        
        String sql="select nombre, nombreDeporte, tiempoPractica, id,"
                + "estado, descripcion from Actividad_Cultural";
        listar= model.getCon().prepareStatement(sql);
        ResultSet resultSet= listar.executeQuery();
        
        while(resultSet.next()){
            ActividadCultural actividadCultural= new ActividadCultural();
            actividadCultural.setNombre(resultSet.getString("nombre"));
            actividadCultural.setNombreDeporte(resultSet.getString("nombreDeporte"));
            actividadCultural.setTiempoPractica(resultSet.getString("tiempoPractica"));
            actividadCultural.setId(resultSet.getInt("id"));
            actividadCultural.setEstado(resultSet.getString("estado"));
            actividadCultural.setDescripcion(resultSet.getString("descripcion"));
            
            lista.add(actividadCultural);        
        }
        
        return lista;
    }
    
}
